use validator::{Validate};

#[derive(Debug, Validate, Deserialize)]
pub struct UserInfoReq {
	#[validate(email)]
	pub mail: String,
	// phone需要在validator_derive里添加features才行，默认是没有的所以报错了
	// 默认没有主要是因为不同地区的验证规则不一样，所以做成了option，比如13136161100按理是通过的，但是验证失败，要+13136161100
	//#[validate(phone)]
	#[validate(regex = "crate::constant::regex_constants::PHONE_REG")]
	pub phone: String,
	// url可以验证UTF8字符的url，比如http://sss.中国 是验证通过的
	// 但是baidu.com是错误的，必须有协议前缀，www.baidu.com也是错误的
	// https://www.baidu.com是正确的，http://www.baidu.中国 也是正确的
	#[validate(url)]
	pub site: String,
	// 是闭区间
	#[validate(range(min = 18, max = 36))]
	pub age: u32,
}
